package com.core.gig.negocio;


import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;


@Entity
@Table(name = "TB_RECURSO_HUMANO")
@SequenceGenerator(name = "SQ_RECURSO_HUMANO", sequenceName = "SQ_RECURSO_HUMANO")
public class RecursoHumano implements Serializable
{

	private static final long serialVersionUID = -2886016197641750298L;
	private int id;
	private String nome;
	private String cpf;
	private Date dtNascimento;
	private String ctps;
	private String serie;
	private String endereco;
	private String telefone;
	private double salario;
	private double totalEncargos;
	private CentroCusto centroCusto;

	@Id
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SQ_RECURSO_HUMANO")
	public int getId()
	{
		return id;
	}

	@Column(name = "NOME", nullable = false, length = 50)
	public String getNome()
	{
		return nome;
	}

	@Column(name = "CPF", nullable = false, length = 14)
	public String getCpf()
	{
		return cpf;
	}

	@Column(name = "DT_NASCIMENTO", nullable = false)
	public Date getDtNascimento()
	{
		return dtNascimento;
	}

	@Column(name = "CTPS", nullable = false, length = 8)
	public String getCtps()
	{
		return ctps;
	}

	@Column(name = "SERIE", nullable = false, length = 3)
	public String getSerie()
	{
		return serie;
	}

	@Column(name = "ENDERECO", nullable = true, length = 100)
	public String getEndereco()
	{
		return endereco;
	}

	@Column(name = "TELEFONE", nullable = true, length = 12)
	public String getTelefone()
	{
		return telefone;
	}

	@Column(name = "SALARIO", nullable = false, precision = 2)
	public double getSalario()
	{
		return salario;
	}

	@Column(name = "ENCARGOS", nullable = false, precision = 2)
	public double getTotalEncargos()
	{
		return totalEncargos;
	}

	@ManyToOne
	@JoinColumn(name = "FK_CENTRO_CUSTO_ID")
	public CentroCusto getCentroCusto()
	{
		return centroCusto;
	}

	public void setId(int id)
	{
		this.id = id;
	}

	public void setNome(String nome)
	{
		this.nome = nome;
	}

	public void setCpf(String cpf)
	{
		this.cpf = cpf;
	}

	public void setDtNascimento(Date dtNascimento)
	{
		this.dtNascimento = dtNascimento;
	}

	public void setCtps(String ctps)
	{
		this.ctps = ctps;
	}

	public void setSerie(String serie)
	{
		this.serie = serie;
	}

	public void setEndereco(String endereco)
	{
		this.endereco = endereco;
	}

	public void setTelefone(String telefone)
	{
		this.telefone = telefone;
	}

	public void setSalario(double salario)
	{
		this.salario = salario;
	}

	public void setTotalEncargos(double totalEncargos)
	{
		this.totalEncargos = totalEncargos;
	}
	
	public void setCentroCusto(CentroCusto centroCusto)
	{
		this.centroCusto = centroCusto;
	}
}